package com.tmpt.service;

import com.tmpt.dto.*;

import java.util.List;

/**
 * Created by lvgang on 2017/1/4.
 */
public interface CategoryService {
    /**
     * query category1 all
     * @return
     */
    public List<Category1Dto> queryCategory1All();

    /**
     * query category2 by category1Id
     * @param category1Id
     * @return
     */
    public List<Category2Dto> queryCategory2ByCategory1(int category1Id);

    /**
     * query category3 by category1Id
     * @param category2Id
     * @return
     */
    public List<Category3Dto> queryCategory3ByCategory2(int category2Id);

    /**
     *  query ProductType by category3Id
     * @param category3Id
     * @return
     */
    public List<ProductTypeDto> queryProductTypeByCategory3(int category3Id);

    /**
     *  query ProductType by category3Id
     * @param productTypeId
     * @return
     */
    public List<ProductValueDto> queryProductValueByPropTypeId(int productTypeId);

    /**
     * add category1
     * @param
     * @return
     */
    public Result addCategory1(String category1Name,String pageShow);
    /**
     * add category2
     * @param
     * @return
     */
    public Result addCategory2(String category2Name, int category1Id, String pageShow);
    /**
     * add category3
     * @param
     * @return
     */
    public Result addCategory3(String category3Name, int category2Id);

    /**
     * addType
     * @param
     * @return
     */
    public Result addProductType(String typeName, int category3Id);
    /**
     * addValue
     * @param
     * @return
     */
    public Result addProductValue(String valueName, int typeId);


    /**
     *  delete
     */
    public Result deleteCategory1(int category1Id);
    public Result deleteCategory2(int category2Id);
    public Result deleteCategory3(int category3Id);
    public Result deleteProductType(int typeId);
    public Result deleteProductValue(int valueId);

    /**
     * update
     */
    public Result modifyCategory1Name(int category1Id, String category1Name, String pageShow);
    public Result modifyCategory2Name(int category2Id, String category2Name, String pageShow);
    public Result modifyCategory3Name(int category3Id, String category3Name);
    public Result modifyProductTypeName(int typeId, String typeName);
    public Result modifyProductValueName(int valueId, String valueName);

}
